package com.dhcc.bpm.modules.scf.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 销售明细表实体类
 *
 * @author liuguoting
 * @since 2023-10-12
 */
@Data
@TableName("scf_sales_details_info")
public class ScfSalesDetailsInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键编号
     */
    @TableId(value = "ROW_ID", type = IdType.INPUT)
    private String rowId;
    /**
     * 再生资源企业ID（开票方）
     */
    private String renewableSubNum;
    /**
     * 再生资源（开票企业）名称
     */
    private String renewableName;
    /**
     * 利废企业ID（购买方）
     */
    private String recyclingSubNum;
    /**
     * 购方企业（利废企业）名称
     */
    private String recyclingName;
    /**
     * 供应商ID（货主）
     */
    private String ownerSubNum;
    /**
     * 供应商名称
     */
    @ExcelProperty("货主")
    private String ownerName;
    /**
     * 收货日期
     */
    @ExcelProperty("收货日期")
    private String receiveDate;
    /**
     * 入库单号
     */
    @ExcelProperty("入库单号")
    private String warehouseEntNum;
    /**
     * 品名（货品编号）
     */
    @ExcelProperty("品名")
    private String goodsNum;
    /**
     * 规格（编号）
     */
    @ExcelProperty("规格")
    private String standardNum;
    /**
     * 付款重
     */
    @ExcelProperty("付款重")
    private String paymentWeight;
    /**
     * 对应减少碳排放量
     */
    private String carbonEmissions;
    /**
     * 销售单价
     */
    @ExcelProperty("销售单价")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private BigDecimal unitPrice;
    /**
     * 销售总金额
     */
    @ExcelProperty("销售总金额")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private BigDecimal totalSalesAmount;
    /**
     * 车牌号
     */
    @ExcelProperty("车号")
    private String truckNum;
    /**
     * 司机（编号）
     */
    private String driverNum;
    /**
     * 司机（姓名）
     */
    @ExcelProperty("司机")
    private String driverName;
    /**
     * 重车重
     */
    @ExcelProperty("重车")
    private String fullWeight;
    /**
     * 空车重
     */
    @ExcelProperty("空车")
    private String emptyWeight;
    /**
     * 包装重
     */
    @ExcelProperty("包装")
    private String packageWeight;
    /**
     * 品质扣重
     */
    @ExcelProperty("品质扣重")
    private String qualityWeight;
    /**
     * 进场实重
     */
    @ExcelProperty("进场实重")
    private String actualWeightIn;
    /**
     * 采购单价
     */
    @ExcelProperty("采购单价")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private BigDecimal purchasePrice;
    /**
     * 验货扣款
     */
    @ExcelProperty("验货扣款")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private BigDecimal inspectionDeduction;
    /**
     * 付给货主货款
     */
    @ExcelProperty("付供货人")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private BigDecimal paymentToOwner;
    /**
     * 开票日期
     */
    @ExcelProperty("开票日期")
    private String invoiceDate;
    /**
     * 对账状态
     */
    private String isOk;

    @TableField("ORG_CODE")
    @ExcelProperty("所属公司编码")
    private String orgCode;

    //    物流轨迹状态
    private Integer trackStatus;
    //    车辆入网状态
    private Integer netStatus;
}
